<?php
/**
 * Script con las acciones de "editar integrante"
 * @author Sahib J. Leo
 */
require '../../config.php';
require PATH . 'classes/ofj-orm/OrquestaIntegrante.php';

$Response = (object)array(
  'error' => false,
  'message' => ''
);

switch($_GET['action']){
  case 'save':
    

    // Validar los datos
    $nombre    = trim($_POST['nombre']);
    $apellidos = trim($_POST['apellidos']);
    $bio       = trim($_POST['bio']);
    $bio_en    = trim($_POST['bio_en']);

    if($nombre == '' || $apellidos == '' || $bio == '' || $bio_en == ''
      || $_POST['categoria_id'] == 0 || $_POST['sub_categoria_id'] == 0){
      $Response->error = true;
      $Response->message = 'Por favor llena el formulario';
    } else {
      try{
        $Integrante = OrquestaIntegrante::instance()
          ->findById($_POST['integrante_id']);

        $Integrante->nombre    = $nombre;
        $Integrante->apellidos = $apellidos;
        $Integrante->bio       = $bio;
        $Integrante->bio_en    = $bio_en;
        $Integrante->orquesta_categoria_id     = $_POST['categoria_id'];
        $Integrante->orquesta_sub_categoria_id = $_POST['sub_categoria_id'];

        if($_POST['perfil_id'] == 0){
          $Integrante->orquesta_perfil_id = null;
        } else {
          $Integrante->orquesta_perfil_id = $_POST['perfil_id'];
        }

        $Integrante->save();
        $Response->message = 'Datos guardados';
      }catch(SahORMException $e){
        $Response->error   = true;
        $Response->message = 'No se pudieron guardar los datos del integrante';
      }
    }
    break;
  case 'load_sub_categorias':
    require PATH . 'classes/ofj-orm/OrquestaSubCategoria.php';
    try {
      $Response->sub_categorias = OrquestaSubCategoria::instance()->find(array(
        'where' => '`orquesta_categoria_id` = :id',
        'arguments' => array(':id' => $_POST['categoria_id'])
      ));
    } catch (SahORMException $e) {
      $Response->error   = true;
      $Response->message = 'No se pudo obtener la lista de sub categorias';
    }
    break;
  case 'upload_image':

    if( $_FILES['image_file']['error'] != UPLOAD_ERR_OK ){
      $Response->error = true;
      $Response->message = 'Error al enviar la imagen';
    } else {
      $image_path = PATH . OrquestaIntegrante::IMG_PATH
        . $_POST['integrante_id'] . '.jpg';
      if( move_uploaded_file($_FILES['image_file']['tmp_name'], $image_path) ){
        chmod($image_path, 0666);
      } else {
        $Response->error = true;
        $Response->message = 'Error al copiar la imagen';
      }
    }

    echo '<script type="text/javascript">var UploadResult = '
      , json_encode($Response), '</script>';
    exit();
    break;
  case 'delete':
    try {
      OrquestaIntegrante::instance()->delete(array(
        'where' => '`id`=:id',
        'arguments' => array(':id' => $_POST['integrante_id'])
      ));
      OrquestaIntegrante::deleteImage($_POST['integrante_id']);
    } catch (SahORMException $e) {
      $Response->error   = true;
      $Response->message = 'No se pudo borrar al integrante.';
    }
    break;
}

header('Content-Type:application/json;charset=utf-8');
echo json_encode($Response);